package model;

import javafx.beans.property.DoubleProperty;
import javafx.beans.property.FloatProperty;
import javafx.beans.property.IntegerProperty;
import javafx.beans.property.SimpleDoubleProperty;
import javafx.beans.property.SimpleFloatProperty;
import javafx.beans.property.SimpleIntegerProperty;
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.property.StringProperty;

public class Produit {
	
	private SimpleStringProperty nomProduit;
	private IntegerProperty quantite;
	private DoubleProperty prixUnitaire;
	private DoubleProperty prixTotal;
	
	private  StringProperty ProduitLibelle;
	private  StringProperty ProduitFamille;
	private  IntegerProperty BoutiqueCode;
	private  IntegerProperty  ProdCodeBarres;
	private  StringProperty  RayonLibelle;
	private  StringProperty  TypeProd;
	private  FloatProperty  PVenteCourant;
	private  FloatProperty  Ecotaxe;
	private  FloatProperty  TauxTva;
	private  StringProperty Image;
	
	
	
	public Produit(String nomProduit, Integer quantite,	double prixUnitaire, double prixTotal) {
		super();
		this.nomProduit = new SimpleStringProperty(nomProduit);
		this.quantite = new SimpleIntegerProperty(quantite);
		this.prixUnitaire = new SimpleDoubleProperty(prixUnitaire);
		this.prixTotal = new SimpleDoubleProperty(prixTotal);
	}
	
	public Produit() {

		this.ProduitLibelle = new SimpleStringProperty("Nom par de defaut");
		this.ProdCodeBarres = new SimpleIntegerProperty(1000);
		this.ProduitFamille = new SimpleStringProperty("Famille par defaut");
		// Some initial dummy data, just for convenient testing.
		this.BoutiqueCode = new SimpleIntegerProperty(125);
		this.TypeProd= new SimpleStringProperty("Type par de defaut");
		this.RayonLibelle = new SimpleStringProperty("Produits Toxiques");
		this.Ecotaxe = new SimpleFloatProperty(25);
		this.PVenteCourant = new SimpleFloatProperty(12540);
		this.TauxTva = new SimpleFloatProperty(0000);
		this.Image = new SimpleStringProperty("Image à uploader");
		
	}


	public String getNomProduit() {
		return nomProduit.get();
	}
	public void setNomProduit(String nomProduits) {
		nomProduit.set(nomProduits);
	}   
    public StringProperty NomProduitProperty() {
	        return nomProduit;
	    }
	public int getQuantite() {
		return quantite.get();
	}
	public void setQuantite(int qte) {
		quantite.set(qte);
	} 
	public IntegerProperty QuantiteProperty() {
	        return quantite;
	}    
	public double getPrixUnitaire() {
		return prixUnitaire.get();
	}
	public void setPrixUnitaire(double prixUnitaires) {
		prixUnitaire.set(prixUnitaires);
	}	
	public  DoubleProperty PrixUnitaireProperty() {
	        return prixUnitaire;
	    }
	public double getPrixTotal() {
		return prixTotal.get();
	}
	public void setPrixTotal(double prixTotale) {
		prixTotal.set(prixTotale);
	}	
	 public  DoubleProperty PrixTotalProperty() {
	        return prixTotal;
	 }
	 

	 
	 //////////////NS23\\\\\\\
	 
	public String getProduitLibelle() {
		return ProduitLibelle.get();
	}
	
	public void setProduitLibelle(String produitLibelle) {
		this.ProduitLibelle.set(produitLibelle);
	}
	
	
	public  StringProperty ProduitLibelle() {
	        return ProduitLibelle;
	 }
	
	public int getBoutiqueCode() {
		return BoutiqueCode.get();
	}


	public void setBoutiqueCode(int boutiqueCode) {
		this.BoutiqueCode.set(boutiqueCode);
	}
	
	public  IntegerProperty BoutiqueCode() {
        return BoutiqueCode;
    }

	/**
	 * @return the prodCodeBarres
	 */
	public int getProdCodeBarres() {
		return ProdCodeBarres.get();
	}
    

	/**
	 * @param prodCodeBarres the prodCodeBarres to set
	 */
	public void setProdCodeBarres(int prodCodeBarres) {
		this.ProdCodeBarres.set(prodCodeBarres) ;
	}

	public  IntegerProperty ProdCodeBarres() {
        return ProdCodeBarres;
     }
	/**
	 * @return the rayonLibelle
	 */
	public String getRayonLibelle() {
		return RayonLibelle.get();
	}


	/**
	 * @param rayonLibelle the rayonLibelle to set
	 */
	public void setRayonLibelle(String rayonLibelle) {
		this.RayonLibelle.set(rayonLibelle);
	}

	public  StringProperty RayonLibelle() {
        return RayonLibelle;
     }
	/**
	 * @return the typeProd
	 */
	public String getTypeProd() {
		return TypeProd.get();
	}


	/**
	 * @param typeProd the typeProd to set
	 */
	public void setTypeProd(String typeProd) {
		this.TypeProd.set(typeProd);
	}


	/**
	 * @return the pVenteCourant
	 */
	public float getPVenteCourant() {
		return PVenteCourant.get();
	}


	/**
	 * @param pVenteCourant the pVenteCourant to set
	 */
	public void setPVenteCourant(Float pVenteCourant) {
		this.PVenteCourant.set(pVenteCourant);
	}
	
	public  FloatProperty PVenteCourant() {
        return PVenteCourant;
     }

	/**
	 * @return the ecotaxeField
	 */
	public float getEcotaxe() {
		return Ecotaxe.get();
	}


	/**
	 * @param ecotaxeField the ecotaxeField to set
	 */
	public void setEcotaxe(Float ecotaxe) {
		this.Ecotaxe.set(ecotaxe);
	}
	
	

	/**
	 * @return the tauxTvaField
	 */
	public float getTauxTva() {
		return TauxTva.get();
	}


	/**
	 * @param tauxTvaField the tauxTvaField to set
	 */
	public void setTauxTva(Float tauxTva) {
		this.TauxTva.set(tauxTva);
	}
	
	public  FloatProperty TauxTva() {
        return TauxTva;
     }

	/**
	 * @return the imageField
	 */
	public String getImage() {
		return Image.get();
	}


	/**
	 * @param imageField the imageField to set
	 */
	public void setImage(String image) {
		this.Image.set(image);
	}
	
	public  StringProperty Image() {
        return Image;
     }

	/**
	 * @return the produitFamille
	 */
	public String getProduitFamille() {
		return ProduitFamille.get();
	}

	/**
	 * @param produitFamille the produitFamille to set
	 */
	public void setProduitFamille(String produitFamille) {
		this.ProduitFamille.set(produitFamille);
	}
	
	public  StringProperty ProduitFamille() {
        return ProduitFamille;
     }
}
